import {reqGetSearchInfo} from '@/api/index'
// search模块的小仓库
const state = {
  getSearchList:{}
}
const mutations = {
  GETSEARCHLIST(state,getSearchList){
    state.getSearchList = getSearchList
  }
}
const actions = {
  // 获取search模块数据
  async getSearchList({commit},params = {}){
    // 当前这个reqGetSearchInfo这个函数在调用获取服务器数据的时候，至少传递一个参数(空对象)
    // params形参：是当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
    let result = await reqGetSearchInfo(params)
    if(result.code == 200){
      commit('GETSEARCHLIST',result.data)
    }
  }
}
// 计算属性，在项目当中，为了简化数据而生
// 可以把我们将来在组件当中需要用的数据简化一下【将来组件在获取数据的时候就方便了】
const getters = {
  // 当前形参state，当前仓库中的state，并非大仓库中的state
  goodsList(state){
    // 如果服务器的数据回来了那就正常接收展示，是一个数组
    // 如果网络不行，数据没回来，是undefined
    // 计算新的属性的属性值至少给别人一个数组
    return state.getSearchList.goodsList || []
  },
  trademarkList(state){
    return state.getSearchList.trademarkList || []
  },
  attrsList(state){
    return state.getSearchList.attrsList || []
  }
}

export default {state,mutations,actions,getters}